﻿using BootstrapBlazor.Components;
using BPM.Web.Shared.Data;

namespace BPM.Web.Shared.Service;

public interface ISysUserService
{
    Task<bool> AddAsync(UserOutput input);
    Task<bool> DeleteAsync(IEnumerable<UserOutput> input);
    Task<UserOutput?> DetailAsync(QueryUserInput input);
    Task<bool> EditAsync(UserOutput input);
    Task<bool> GrantDataAsync(IEnumerable<long>? orgIds, UserOutput input);
    Task<bool> GrantRoleAsync(IEnumerable<long>? roleIds, UserOutput input);
    Task OwnDataAsync(IEnumerable<TreeItem>? orgItems, UserOutput input);
    Task<List<RoleOutput>> OwnRoleAsync(IEnumerable<RoleOutput>? roleItems, UserOutput input);
    Task<QueryData<UserOutput>> PageAsync(UserPageInput input);
    Task<bool> ResetPwdAsync(UserOutput input);
    Task<bool> UpdateAvatarAsync(long id);
    Task<IEnumerable<SelectedItem>> SelectorAsync(UserSelectorInput input);
}
